Interactive Program Manager and Methods for Presenting Program Content

ABSTRACT

A particular system includes a processor and memory storing instructions that are executable by the processor to cause the processor to perform operations. The operations include sending a notification indicator to a first device in response to identifying content of interest associated with a first source. The operations also include, in response to user input responsive to the notification indicator, sending a menu display to the first device. The menu display includes a first user selectable option to view a submenu. The submenu includes an option to selectively enable display of an alert associated with the first source. The alert is displayable on the first device in conjunction with display of a first program.

CLAIM OF PRIORITY

The present application is a continuation of, and claims priority from, U.S. patent application Ser. No. 11/350,244, filed Feb. 8, 2006 and entitled “Interactive Program Manager and Methods for Presenting Program Content,” which is hereby incorporated by reference in its entirety.

BACKGROUND

Television users are presently able to access hundreds of channels providing a multitude of programs, only a small fraction of which will be of interest to a given user. To assist the user in determining programs of interest, current commercially available reception devices such as televisions, analog cable receivers, and digital cable and satellite receivers typically provide a program guide function that allows the user to access a grid showing programs that will be available on various channels in upcoming time slots. Brief descriptions of programs may also be accessible. Such receivers may also allow the user to search for programs in basic categories such as news, sports, movies, etc.

Current commercially available television recording technology also provides similar tools. For example, digital video recording machines, which typically store video on a bulk storage device such as a hard disk drive, allow users to select programs for recording using an on screen program guide that provides keyword searching of program titles, a program time grid, and basic program categorization.

Although these devices provide tools that improve over devices of earlier generations, these devices do not adequately address at least two situations. First, these devices fail to keep a user in touch with breaking news, local weather alerts, and program content that might be of interest when other program content is being viewed. Thus, these devices can create a dangerous situation for a user that is left unaware of a local severe weather alert, an evacuation order, or the like.

In addition, these devices tend to capture or identify too large of a result set when attempting to identify content that should be of interest to a user. As a result, these conventional tools still require users to examine upcoming programs to identify programs of interest. Thus, developers of the next generation of devices are focused on providing intelligence in receiving and recording devices for identifying programs of interest on behalf of the user.

Despite the development of multiple approaches to provide improved program guides to a user there is still a need for improved approaches for keeping a user informed of available program content whether or not the user is presently viewing a program from a content provider.

SUMMARY

Embodiments of a multimedia system for use with a monitor comprise a receiver, a controller and an analyzer. The receiver receives both broadcast and non-broadcast sources of multimedia content and presents the content via the monitor. The controller directs the receiver to select a first channel and forwards a second channel different from the first channel to a device other than the monitor. An analyzer in communication with the receiver monitors a program guide and at least the second channel for content of interest in accordance with a user profile. The analyzer communicates information via the receiver and the monitor in response to an operator input.

An embodiment of a method for interactively selecting program content comprises analyzing a program guide in response to a user profile to identify alternative content, providing a mechanism that enables a user to explore the alternative content, wherein exploration of the alternative content comprises a multiple level interactive menu and providing a mechanism that enables a user to direct the alternative content to a select device.

Other systems, methods, features and advantages will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. All such additional systems, methods, features and advantages are defined and protected by the accompanying claims.

BRIEF DESCRIPTION OF THE FIGURES

The systems and methods for interactively presenting alternative content to a user can be better understood with reference to the following figures. The components within the figures are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles for enabling the interactive program manager. Moreover, in the figures, like reference numbers designate corresponding parts throughout the different views.

FIG. 1 is a block diagram illustrating an embodiment of a multimedia environment.

FIG. 2 is a schematic diagram illustrating an embodiment of the interactive program manager of FIG. 1.

FIG. 3 is a schematic diagram illustrating multiple embodiments of various operating modes of the monitor of FIG. 1.

FIG. 4 is a schematic diagram illustrating an embodiment of an operating mode of the monitor of FIG. 1.

FIG. 5 is a flow diagram illustrating an embodiment of a method for interactively presenting alternative content.

FIG. 6A is a flow diagram illustrating an alternative embodiment of a method for interactively presenting alternative content to a user.

FIG. 6B is a flow diagram further illustrating the method of FIG. 6A.

DETAILED DESCRIPTION

An interactive program manager provides available broadcast and non-broadcast sources to one or more select devices in a multimedia system. As those skilled in the art will appreciate an identifying code or interactive callback address for directly invoking alternative multimedia content is used to communicate the availability of the alternative content and to controllably direct the multimedia system to the original content. Details of a system and method for providing such an interactive code and call back address are described, for example, in U.S. Pat. No. 5,818,438 (the '438 patent), the contents of which are incorporated by reference. A session can be established with an interactive program manager using the interactive callback address and other information such as that described in the '438 patent, and upon completion of the session, a user can re-tune or select the original content.

According to an exemplary embodiment, an interactive program manager associates the identifying code or interactive callback address with a location at which the presently viewed programming or application will be stored. The identifying code or interactive callback address may be a program-specific code that can be used to invoke one or more programs to configure a multimedia system.

The multimedia system may include one or more auxiliary devices, such as a recorder/player and a monitor that are integrated with an interactive program manager that controllably presents a first channel to the monitor and additional information to a select device, which in some configurations includes the monitor. The interactive program manager, when enabled by a user, notifies the user when one or more opportunities exist for reconfiguring the multimedia system to present alternative program content from broadcast and non-broadcast sources. Broadcast sources may include live and previously recorded audio and video information or program content. Non-broadcast sources may include audio and video information forwarded by an auxiliary device such as a recorder/player and one or more data feeds. The one or more data feeds may include ancillary information regarding available or soon to be available program content (e.g., a program guide), information associated with program content stored on a medium that is forwarded by a recorder/player and/or information available from alternative sources external to a content provider such as information available via a publicly accessible data network.

According to an exemplary embodiment, the interactive program manager includes logic for analyzing information from a program guide and one or more data feeds in light of information stored in a user profile to identify potential program content or data that might be of interest to a user associated with the information in the user profile. According to one embodiment of the interactive program manager, a content classification hierarchy is used for classifying the content of programming events and for defining a user's particular interests defined in a user profile. The classification hierarchy is comprised of trees of subject categories of increasing specificity. This allows programming events to be classified with specificity and allows user preferences to be expressed with equal specificity, both to emphasize particular categories of interest and to exclude categories not of interest to the user. For example, rather than simply being enabled to specify an interest in “sports,” a user may specify that he is interested in football and tennis but not basketball or baseball and may further express interest in particular football teams and tennis players. Thus, the interactive program manager evaluates program content according to the classification hierarchy, using user profiles defined according to the classification system. As a result, evaluations generated by the interactive program manager reflect actual user preferences much more accurately than if conventional general categories were used. Further, among multiple programs that are evaluated as being of interest to a user, the degree of specificity of the matches provides a manner of ranking those programs based on user preferences.

The use of hierarchical classification as described above enables intelligent identification of program content that will be of particular interest to a given user who is not presently tuned or otherwise configured to use, e.g., listen to or view, the content. This intelligence may be implemented to automatically record programming events of interest, to alert a user of upcoming programming events of interest, to automatically display programming events of interest as they become available, or to selectively provide programs to the user and/or a recorder. When this intelligence is coupled with metadata describing individual program segments as described above, it becomes possible to provide the user with a personalized viewing experience.

Moreover, this intelligence may be implemented to enable a user to reconfigure a multimedia system in real time to switch from a first channel to an alternative channel, record an alternative channel while continuing to view a first channel, to record a first channel while viewing an alternative channel, all while selectively monitoring one or more data feeds for additional information. This additional information may be presented in real time via one or more areas of a display. Alternatively, the additional information can be continuously monitored for select events or items, the occurrence of or inclusion of which, that trigger the interactive program manager to present corresponding information on the display.

Users are provided with a suitably configured monitor and/or one or more additional devices the combination of which comprises an interactive program manager that is configured to receive broadband signals from a content provider. According to exemplary embodiments, the interactive program manager is configured to insert an identifying code or interactive callback address either in a program signal (an in-band signal) or in an out-of-band signal. The interactive program manager is also configured to store the identity of the source or channel on which the presently viewed programming is being received in one or more storage devices. The interactive program manager is also configured to detect and store information accompanying the transmission of the identifying code or interactive callback address regarding an image to be displayed on the display device (such as a “key,” “icon,” or “indicator”) or an audio message to be reproduced to indicate the availability of alternative content that might be of interest to a user. The interactive program manager is also coupled to a processor configured to generate a video image based on the received or pre-stored “key,” “icon,” or “indicator” information, or alternatively, is programmed to generate the video signal and is coupled to the display device in such a manner as to provide such a signal to that device.

Furthermore, the interactive program manager is adapted to communicate with a user via a menu presented on the display of the monitor upon receipt of a command input from the user in response to observing the indicator (i.e., seeing the “icon” or hearing the message). The menu includes one or more inputs for controllably configuring the multimedia system and/or updating the user profile. The interactive program manager may first store the identity of the channel on which the program then being viewed is being transmitted. When the program responsible for generating the menu is terminated, the interactive program manager distributes one or more channels or sources of information in accordance with various configuration parameters identified during the communication session with the user.

Having generally described the interactive program manager and methods for presenting program content, various additional embodiments will be described with respect to FIGS. 1-6B. By way of example, FIG. 1 is a block diagram illustrating an embodiment of a multimedia environment 100. Multimedia environment 100 includes monitor 160 and an interactive program manager 110 that processes program content provided by content provider 140 on its way to monitor 160. Monitor 160 includes interface 162 for receiving command inputs from one or more local controls (not shown) integrated with monitor 160 or from wireless controller 170 via link 173. Monitor 160 further includes processor 164 for receiving audio and video signal information and converting the same for presentation via display 165, right-side speaker 166, and left-side speaker 168. Processor 164 converts right-side audio information into a right-channel analog signal, which is converted into right-side audio 167 by right-side speaker 166. Processor 164 also converts left-side audio information into a left-channel analog signal, which is converted into left-side audio 169 by left-side speaker 168.

As illustrated in FIG. 1, interactive program manager 110 is coupled to content provider 140 via bus 145. Interactive program manager 110 is coupled to monitor 160 via bus 117 and audio/video link 161. Interactive program manager 110 is also coupled to profile store 150 via bus 155 and recorder/player 130 via audio/video link 133 and audio/video link 135. Wireless controller 170 communicates with one or both of monitor 160 via link 173 and interactive program manager 110 via link 175 to convey various commands and data entries from a user. As indicated in FIG. 1, wireless controller 170 communicates commands and/or data to monitor 160 via link 173 and interface 162. Similarly, wireless controller communicates commands and/or data to interactive program manager 110 via link 175 and interface 112.

Bus 145 forwards signals associated with a plurality of channels 142, program guide 144, as well as one or more optional data feeds 146. Each of the channels 142 includes audio and video information that together make up a program. Both channel information and the one or more data feeds 146 can be transmitted in analog and/or digital formats. As those skilled in the art will appreciate, closed-captioning information may be imbedded or otherwise coded into portions of an analog channel. A suitably configured decoder (not shown) integrated or otherwise coupled to monitor 160 converts the received closed-captioning information for presentation as text on display 165. Data feeds 146 may contain information generated by content provider 140 or sources external to content provider 140. Data feeds 146 are similarly processed by appropriately configured decoders or processors (not shown) integrated or otherwise coupled to one or more of interactive program manager 110 or monitor 160. Program guide 144 includes information describing presently available program content across the plurality of channels 142 and program content that will be presented in the near future.

Bus 117 forwards control signals generated within interactive program manager 110 that when decoded or otherwise interpreted by processor 164 direct monitor 160 to function in one of various operational modes. In addition, bus 117 forwards configuration information or other data entered by a user via one or both of wireless controller 170 and monitor 160. The configuration information and/or other data is received and processed by interactive program manager 110. Processing includes one or both of updating logic and/or data associated with analyzer 118 or user profile 152. Audio/video link 161 forwards analog and/or digital signals containing information from a select channel provided by content provider 140 or audio and video information from recorder/player 130 in accordance with the configuration information or data communicated to interactive program manager 110, information in user profile 152 and information in program guide 144.

As described above, one or more indicators, such as indicator 163 may be integrated within the various signals communicated via interactive program manager 110 to indicate to a user that alternative content is available. In the illustrated embodiment, indicator 163 is a visual signal that is presented on display 165. In an alternative mode of operation, an audio indicator may be communicated in the form of an audible tone or a message communicated via speaker 166 and speaker 168, or both the audio indicator and the visual indicator may be enabled.

Interactive program manager 110 comprises controller 114, receiver 116, and analyzer 118. Controller 114 is coupled to interface 112 via input bus 113. Controller 114 is further coupled to receiver 116 and analyzer 118 via command bus 115. Receiver 116 is coupled to content provider via bus 145, which contains the above-described channels 142, program guide 144, and data feeds 146. Receiver 116 is further coupled to recorder/player 130 via audio/video link 135, which provides audio/video information from the output or player portion of recorder/player 130 and audio/video link 133, which provides audio/video information from a select channel selected from the set of channels 142 provided by content provider 140 for recording by the recorder portion of recorder/player 130. Receiver 116 forwards a separate and distinct channel (i.e., different from the channel sent to recorder/player 130) selected from the set of channels 142 to monitor 160 via audio/video link 161. Analyzer 118 receives commands and configuration information from controller 114 and program guide 144 and one or more data feeds 146 via bus 145, receiver 116 and command bus 115. In addition, analyzer 118 receives user profile 152 from profile store 150 via bus 155. Analyzer 118 is configured with one or more programs for identifying program content of interest to a user that is presently available and/or may become available in the near future. Analyzer 118 compares information from program guide 144 and data feed 146 in light of information from user profile 152 to determine when alternative program content might be of interest to a user. When so directed, analyzer 118 also monitors the status of broadcast and non-broadcast program content and in response to a timer or a triggering condition reports various information related to the program to the user. In addition to monitoring program content, analyzer 118 may be directed to report when information provided via data feed 146 or alternative data sources (not shown) indicate that an alert condition exists.

In the illustrated embodiment, interactive program manager 110 and profile store 150 are separate devices. It should be understood that the functions provided interactive program manager 110 and profile store 150 could be integrated or otherwise combined with monitor 160 or some other device such as a computing device, a set top box, or some other device communicatively coupled to monitor 160 and content provider 140 (not shown). For that matter, although the example embodiment depicts the interactive program manager 110 as a separate and distinct device among others shown in the multimedia system, it should be appreciated that one or more functional blocks of the interactive program manager 110 may be integrated with monitor 160, recorder/player 130 or perhaps other devices communicatively coupled to these or other devices at a user premise. For example, analyzer 118 and user profile 152 could be integrated and supplied as an enhanced interactive service by content provider 140.

FIG. 2 is a schematic diagram illustrating an embodiment of the interactive program manager 110 of FIG. 1. Interface 112 includes wireless receiver 210, decoder 212 and output buffer 214. Wireless receiver 210 is coupled to decoder 212 via connection 211. Decoder 212 is further coupled to output buffer 214 via connection 213. Interface 112 receives commands issued by a user via wireless controller 170. Wireless receiver 210 receives and forwards the various encoded commands to decoder 212, which transforms the information into a command that can be interpreted by controller 114. Output buffer 214 receives the decoded or transformed command information and forwards the same via connection 113 to controller 114 for further processing.

Controller 114 includes I/O buffer 222, processor 224 and memory 226. I/O buffer 222, processor 224 and memory 226 are communicatively coupled via local bus 223. I/O buffer 222 receives command information from interface 113 and in accordance with interface logic 228 stored in memory 226 as executed by processor 224 forwards commands and information to receiver 116, analyzer 118 and/or monitor 160 (FIG. 1) via command bus 115. In addition, I/O buffer 222 is further coupled to monitor 160 via bus 117.

Receiver 116 includes I/O buffer 230, processor 232, memory 234, switch 236, switch 238, tuner 240 and tuner 242. I/O buffer 230, processor 232 and memory 234 are communicatively coupled via local bus 231. Processor 232 is coupled to switch 236 and switch 238 via connections 241 and 235, respectively. Processor 232 is further coupled to tuner 240 and tuner 242 via connection 239 and connection 237, respectively. Switch 236 has a first input configured to receive audio and video information via audio/video link 135. Switch 236 has a second input configured to receive multiple channels from a content provider via link 253. Switch 236 is configured with three outputs. A first output coupled to link 243 bypasses the tuners. A second output coupled to link 245 directs the multiple channels to tuner 240. A third output coupled to link 244 directs the multiple channels to tuner 242. Tuner 240 in accordance with one or more control commands provided by processor 232 selectively forwards the audio and video information associated with one of the received channels via link 248 to switch 238. Tuner 242 in accordance with one or more control commands provided by processor 232 selectively forwards the audio and video information associated with a different channel via link 249 to switch 238. Switch 238 is configured with three inputs and two outputs. A first input coupled to link 243 receives audio and video information from switch 236 via link 243. A second input coupled to link 248 receives the audio and video information associated with a selected channel from tuner 240. A third input coupled to link 249 receives the audio and video information associated with the alternative or different channel from tuner 242. A first output of switch 238 is coupled to audio/video link 133, which may be applied to an input of an auxiliary device such as the recorder/player 130 introduced in FIG. 1. A second output of switch 238 is coupled to audio/video link 161, which is coupled to monitor 160 (FIG. 1).

In the embodiment illustrated in FIG. 2, receiver 116 also receives one or more data feeds from content provider 140 (FIG. 1) along bus 119. Information provided by content provider 140 in the data feeds may be buffered by I/O buffer 230 and forwarded to analyzer 118 to assist in determining when alert conditions exist or otherwise monitoring the progress of program content.

Analyzer 118 includes I/O buffer 260, processor 262 and memory 263. I/O buffer 260, processor 262 and memory 263 are communicatively coupled via local bus 261. I/O buffer 260 receives command information from command buffer 115, user profile information from bus 155, content provider data including a program guide and possibly one or more data feeds via bus 119. In addition, I/O buffer 260 may receive one or more alternative data feeds via bus 255. These alternative data feeds can include information available from one or more information servers coupled to a publicly accessible or a privately accessible data network (not shown). I/O buffer 260 receives the command information, user profile information, program guide information and one or more data feeds and in accordance with logic 269 stored in memory 263 as executed by processor 262 forwards notices of triggering conditions and alerts to controller 114, which is configured to communicate information to the user in response to the triggering conditions and/or alerts. Memory 263 may include one or more user profiles such as user profile 265 and one or more program guides 267 as may be desired.

In the example embodiment illustrated in FIG. 2, controller 114, receiver 116 and analyzer 118 each contain respective I/O buffers, local busses, memories and processors. It should be understood that in alternative embodiments, controller 114, receiver 116 and analyzer 118 may be integrated in a single computing device. When configured as illustrated, local bus 223, local bus 231 and local bus 261 may be wired or wireless connections, as known in the art. In addition each local bus may have additional elements, which are omitted for simplicity, such as caches, drivers, repeaters, and receivers, to enable communications. Further, each local bus may include address, control, and/or data connections to enable appropriate communications among the respective I/O buffers, processors and memories. Processor 224, processor 232 and processor 262 are hardware devices for executing software, particularly that stored in memory 226, memory 234 and memory 263, respectively. Each of the processors can be any custom made or commercially available processor, a central processing unit (CPU), a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions. Each of the memories can include any one or combination of volatile memory elements (e.g., random-access memory (RAM, such as dynamic random-access memory (DRAM), static random-access memory (SRAM), synchronous dynamic random-access memory (SDRAM), etc.) and nonvolatile memory elements (e.g., read-only memory (ROM), among other elements or devices. Moreover, each of the memories may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memories can have a distributed architecture, where various components are situated remote from one another, but can be accessed by each of the respective processors.

The logic stored in each of memory 226, memory 234 and memory 263 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions in addition to identified locations for data storage. The programs can be source programs, executable programs (object code), scripts, or any other entities comprising a set of instructions to be performed. When implemented as source programs, the programs are translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the respective memories, so as to operate properly in connection with the processor and/or an associated operating system. Furthermore, the logic stored in each of memory 226, memory 234 and memory 263 can be written in one or more object-oriented programming languages, which have classes of data and methods, or procedure programming languages, which have routines, subroutines, and/or functions.

Moreover, logic stored in each of memory 226, memory 234 and memory 263 can be stored on any computer-readable medium for use by or in connection with any computer related system or method. In alternative embodiments, one or more of the programs can implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application-specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field-programmable gate array (FPGA), etc.

FIG. 3 is a schematic diagram illustrating a menu 300 containing multiple user controllable inputs that together define embodiments of various operating modes of the monitor 160 of FIG.1. The example set of user controllable inputs includes controls for selectively enabling or disabling visual and audio indicators, picture-in-picture, alert(s), closed-captioning, as well as other data representations. In addition, the example set of user controllable inputs includes controls for selecting the source for display 165, a picture-in-picture window, an alert window, a closed-captioning information window, as well as a data representation window. The example menu 300 is generated by interface logic 228 and presented by monitor 160 on display 165. Edit indicator 305 defines a select input to modify. Edit indicator 305 is controllably directed up or down through the list of inputs via one or both of control inputs associated with wireless controller 170 and a control interface associated with monitor 160 (FIG. 1). In addition each of the input items in menu 300 includes a highlight bar indicative of the present selection for that particular input item. The highlight bar is controllably directed left or right through the list of possible selections (e.g., channels, data feeds, uniform resource locator or enable/disable) associated with the input item via one or both of control inputs associated with wireless controller 170 and a control interface associated with monitor 160 (FIG. 1).

In the example embodiment illustrated in FIG. 3, menu 300 includes main display source 310, picture-in-picture enable/disable 320, picture-in-picture source 325, visual indicator enable/disable 330, audio indicator enable/disable 335, alert enable/disable 340, alert source 345, closed-captioning enable/disable 350, closed-captioning source 355, data representation enable/disable 360, and data source 365 input items.

The highlight bar associated with the main display source 310 input indicates that “channel 1” is the selected source. As further indicated in FIG. 3 main display source 310 includes selection items “Channel Y” and “Auxiliary Source” as possible alternative sources for video and/or audio information for presentation on display 165 of monitor 160. The highlight bar associated with picture-in-picture enable/disable 320 indicates that picture-in-picture is enabled or on. The highlight bar associated with the picture-in-picture source 325 input indicates that “channel Y” is the selected source. As further indicated in FIG. 3 picture-in-picture source 325 includes selection items “Channel 1” and “Auxiliary Source” as possible alternative sources for video information for presentation within a picture-in-picture window on display 165 of monitor 160. The highlight bar associated with visual indicator enable/disable 330 indicates that the visual indicator is enabled or on. The highlight bar associated with audio indicator enable/disable 335 indicates that the audio indicator is disabled or off. The highlight bar associated with alert enable/disable 34 indicates that the alert input is enabled or on. The highlight bar associated with the alert source 345 input indicates that “Data Feed” is the selected source. As further indicated in FIG. 3 alert source 345 includes selection item “Channel X” as a possible alternative source for video information for presentation within an alert window on display 165 of monitor 160. The highlight bar associated with closed captioning enable/disable 350 input indicates that the closed captioning input is disabled or off. As a result of the closed captioning being selectively disabled, closed captioning source 355 does not contain a highlight bar. When closed captioning is enabled, closed captioning source 355 includes selection items “Channel 1” and “Channel Y.” The highlight bar associated with the data representation enable/disable 360 input indicates that the data representation input is disabled or off. As a result of the data representation being selectively disabled, data source 365 does not contain a highlight bar. When data representation is enabled, data source 365 includes “URL 1” and “URL 2.”

Interactive program manager 110 can be configured to generate one or more alternative menus for presentation to a user with more or less user selectable configuration items than those presented in the illustrated embodiment. For example, an audio alert input that overrides the audio portion of the main display source when an alert condition is identified, a picture-in-picture audio select input that overrides the audio portion of the main display source with audio information from the picture-in-picture source and one or more additional data items may be added to further select and/or identify both the source associated with the data representation input and the alert input. Menu 300 may also be configured to provide an interface for defining information that will be used to trigger the alert and/or update the data representation.

FIG. 4 is a schematic diagram illustrating an embodiment of an operating mode of the monitor 165 of FIG. 1. The operating mode illustrated in FIG. 4 presents the video content from channel 1 in the background 410 of display 165 and a host of other items in select areas of the foreground. For example, die video information from channel 2 is presented in picture-in-picture window 420. By way of further example, alert information provided by a local broadcast channel as distributed by content provider 140 or some other source or an alternative data feed is presented in alert window 430. In addition, indicator 163 (in its visual form) is presented in indicator window 163. Alternatively, closed captioning information or alternative text messages may be presented in closed caption/alternative information window 440 and a data representation of information provided via a data stream is selectively presented in data representation window 450. The example operating mode illustrated in FIG. 4 is just one of many possible arrangements that can be generated via the interactive program manager 110 and monitor 160. For example, alternative embodiments may include changing the location of one or more of the windows. In addition, one or more items may be integrated or otherwise arranged to share a select area of display 165.

FIG. 5 is a flow diagram illustrating an embodiment of a method 500 for interactively presenting alternative content. In this regard, each block represents a specified step or function. When embodied in software and/or hardware/firmware, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified function(s). Method 500 begins with block 510 where interactive program manager 110 analyzes a program guide in response to information provided in a user profile to identify alternative content. In block 520, interactive program manager 110 presents for display an indicator that indicates that alternative content is available to the user. In block 530, the interactive program manager 110 provides a mechanism that enables the user to explore the identified alternative content. Thereafter, as indicated in block 540, the interactive program manager 110 provides a mechanism that enables the user to controllably direct the alternative content to a select device.

These mechanisms may comprise both software and/or hardware/firmware configured to present a layered or hierarchical menu to a user through one or more interfaces associated with wireless controller 170, monitor 160 or interactive program manager 110. In operation, the mechanism prompts or otherwise communicates with the user to determine whether the user would like to continue viewing the present program only, continue viewing the present program while recording the alternative content, continue viewing the present program while monitoring the alternative content, switch to the view the alternative content, switch to view the alternative content while recording the original program, and/or change the operating mode of monitor 160 in some manner. As described above, operating modes include selection of a main display source, picture-in-picture enable/disable, picture-in-picture source (when picture-in-picture is enabled), visual indicator enable/disable, audio indicator enable/disable, alert enable/disable, alert source (when alert is enabled), closed captioning service enable/disable, closed captioning source (when closed captioning is enabled), data representation enable/disable, and data source (when data representation is enabled).

FIGS. 6A-6B are flow diagrams illustrating an alternative embodiment of a method 502 for interactively presenting alternative content to a user. In this regard, each block represents a specified step or function. When embodied in software and/or hardware/firmware, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified function(s). Method 502 begins with decision block 505 where a determination is made regarding the status of an indicator. When a user is interested in knowing what alternative content might be presently available or available at a select time in the future and has enabled the indicator, processing continues with block 510 as indicated by the flow control arrow labeled, “Yes,” exiting decision block 505. Otherwise, when a user is not interested in alternative content and has not enabled the indicator, as shown by the flow control arrow labeled, “No,” exiting decision block 505, processing may resume at the start. It should be understood that in most embodiments execution of method 502 may be paused for a period of time before repeating the determination in decision block 505.

Method 502 continues with block 510 where interactive program manager 110 analyzes a program guide in response to information provided in a user profile to identify alternative content. In decision block 515 a determination is made whether alternative content identified by the programming guide or an alternative data source matches a possible user interest. When alternative content matches a user interest, processing continues with block 520 as indicated by the flow control arrow labeled, “Yes,” exiting decision block 515. Otherwise, when alternative content does not match a user interest, as shown by the flow control arrow labeled, “No,” exiting decision block 515, processing resumes after decision block 505.

Method 502 continues with block 520 where interactive program manager 110 presents for display an indicator that indicates that alternative content is available to the user. In block 530, the interactive program manager 110 establishes an interactive session with a user. As indicated in block 540, during the interactive session, the interactive program manager 110 provides a mechanism that enables the user to explore the alternative content. As indicated in FIGS. 6A and 6B connector “A” links block 540 with block 550, where the interactive program manager 110 provides a mechanism that enables the user to direct the alternative content to a select device.

Thereafter, in decision block 555 a query is made to determine whether a tracking flag is enabled. The tracking flag is enabled when a user is interested in knowing what is occurring on an available but not selected channel or data source. When the tracking flag is enabled as indicated by the flow control arrow labeled, “Yes” exiting decision block 555 processing continues with block 560. As indicated in block 560, interactive program manager 110 analyzes content available on a select channel. In this case, the select channel is one of a data feed or an audio/video program that is not presently being forwarded to monitor 160 for presentation to a user. Otherwise, when tracking is not enabled, as indicated by the flow control arrow labeled, “No” exiting decision block 555 processing continues with decision block 565. In decision block 565 a query is presented to the user whether to modify an operational mode of monitor 160. When the response to the query associated with decision block 565 is affirmative, as indicated by the flow control arrow labeled “Yes” exiting decision block 565, processing continues with block 570 where the operational mode of monitor 160 is changed. Otherwise, when the response to the query associated with decision block 565 is negative, processing returns to block 510 via connector “B.” That is, connector “B” bridges the second portion of method 502 as illustrated in FIG. 6B with the first portion of method 502 illustrated in FIG. 6A. As further illustrated by the flow diagram of FIG. 6B, after the operational mode of monitor 160 is modified in block 570, processing may also return to block 510. Otherwise, one or more criteria may be applied in a making a determination to terminate method 502.

In operation, the interactive program manager 110, as indicated in blocks 540 and 550, prompts or otherwise communicates with the user to determine whether the user would like to continue viewing the present program, continue viewing the present program while recording the alternative content, continue viewing the present program while monitoring the alternative content, switch to the view the alternative content, switch to view the alternative content while recording the original program, and/or change the operating mode of monitor 160 in some manner. As described above, operating modes include selection of a main display source, picture-in-picture enable/disable, picture-in-picture source (when picture-in-picture is enabled), visual indicator enable/disable, audio indicator enable/disable, alert enable/disable, alert source (when alert is enabled), closed captioning service enable/disable, closed captioning source (when closed captioning is enabled), data representation enable/disable, and data source (when data representation is enabled). Operating modes may also include listening to audio programming only, the audio portion of a select channel of multimedia content, recorded audio material and the like.

Operational software programs that may be used by interactive program manager 110, as well as operational software that may be used in conjunction with controllers, monitors, computers, among other devices that interface with system 100, which comprise an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.

In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer-readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a RAM, a ROM, an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable CDROM (optical). Note that the computer- readable medium could even be paper or another suitable medium upon which the program is printed and the program can be electronically captured, via for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

While various embodiments of the systems and methods for enabling an interactive program manager have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible that are within the scope of the accompanying claims. Accordingly, the systems and methods for enabling an interactive program manager are not to be restricted beyond the attached claims and their equivalents. 

What is claimed is:
 1. A system comprising: a processor; and memory storing instructions that are executable by the processor to cause the processor to perform operations comprising: sending a notification indicator to a first device in response to identifying content of interest associated with a first source; and in response to user input responsive to the notification indicator, sending a menu display to the first device, the menu display including a first user selectable option to view a submenu, wherein the submenu comprises an option to selectively enable display of an alert associated with the first source and wherein the alert is displayable on the first device in conjunction with display of a first program.
 2. The system of claim 1, wherein the operations further comprise: receiving a plurality of channels and a plurality of data feeds that are different from the plurality of channels, storing a user profile of the particular user, selecting the first program of a first channel of the plurality of channels, sending the first program to the first device, and prior to sending the notification indicator, monitoring the first source to identify the content of interest based on the user profile.
 3. The system of claim 2, wherein the operations further comprise sending the alert to the first device in response to an alert condition and in response to the user profile indicating that display of the alert is enabled.
 4. The system of claim 2, wherein the menu display includes a second user selectable option to send particular content to the first device, a third user selectable option to send the particular content to the first device and to send the first program to a recording device, and a fourth user selectable option to forward the particular content to the recording device while continuing to send the first program to the first device.
 5. The system of claim 4, wherein the operations further comprise, in response to a user selection of the second user selectable option, monitoring the first program based on the user profile to determine when the first program includes second content of interest.
 6. The system of claim 2, wherein the operations further comprise, in response to a user selection of the notification indicator, storing an interactive callback address that includes a location of a source of the first program.
 7. The system of claim 2, wherein the operations further comprise sending a second alert to the first device when alert data of a data feed of the plurality of data feeds indicates a second alert condition and when the user profile indicates an alert enabled mode, wherein the alert data indicates at least one of a local weather alert and an evacuation.
 8. A method comprising: presenting an indicator in response to identifying content of interest for a particular user, wherein the content of interest is associated with a first channel of a plurality of channels; and in response to user input corresponding to the indicator, sending a menu to a display device, the menu including a first user selectable option to view a submenu, wherein the submenu comprises an option to selectively enable display of an alert associated with the first channel and wherein the alert is displayable on the display device in conjunction with a first program of a second channel of the plurality of channels.
 9. The method of claim 8, further comprising: receiving the plurality of channels and a plurality of data feeds that are different from the plurality of channels; sending the first program to the display device; prior to presenting the indicator, analyzing data of a program guide provided as one of the plurality of data feeds based on a user profile of the particular user to identify the content of interest; and evaluating the user profile to identify one of a plurality of indicator modes, wherein the indicator is presented in accordance with the identified one of the plurality of indicator modes.
 10. The method of claim 9, wherein analyzing the data of the program guide based on the user profile comprises applying a content classification hierarchy included in the user profile to the data of the program guide.
 11. The method of claim 9, wherein the indicator modes comprise an audio mode, a visual and audio mode, and a visual mode.
 12. The method of claim 9, wherein the menu includes a second user selectable option that causes particular content to be sent to the display device, a third user selectable option that causes the first program to be recorded and that causes the particular content to be sent to the display device, and a fourth user selectable option that causes the first program and the particular content to be sent simultaneously to the display device.
 13. The method of claim 9, further comprising: analyzing content provided on a program for information that matches a user interest based on the user profile; and presenting the indicator further based on the analysis, wherein the content of interest is the program.
 14. The method of claim 9, further comprising sending a data feed of the plurality of data feeds to a portion of the display device.
 15. The method of claim 9, further comprising establishing an interactive session with a user in response to a command from a control device after receiving the user input corresponding to the indicator.
 16. The method of claim 9, further comprising sending a second alert to the display device when alert data of a data feed of the plurality of data feeds indicates a second alert condition and the user profile indicates an alert enabled mode.
 17. The method of claim 9, wherein the menu includes a second user selectable option to apply a text stream over a portion of the display device.
 18. A computer readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations comprising: presenting an indicator in response to identifying content of interest, wherein the content of interest is associated with a first channel of a plurality of channels; and sending a menu to a display device including a first user selectable option to view a submenu, wherein the submenu comprises an option to selectively enable display of an alert associated with the first channel and wherein the alert is displayable on the display device in conjunction with a first program of a second channel of the plurality of channels.
 19. The computer readable storage device of claim 18, wherein the operations further comprise: receiving the plurality of channels and a plurality of data feeds that are different from the plurality of channels, sending content of the first program to the display device, prior to presenting the indicator, analyzing data of a program guide provided as one of the plurality of data feeds based on a user profile to identify the content of interest, and evaluating the user profile to identify one of a plurality of indicator modes, wherein the indicator is presented in accordance with the identified one of the plurality of indicator modes.
 20. The computer readable storage device of claim 19, wherein the operations further comprise sending a second alert to the display device when alert data of a data feed of the plurality of data feeds indicates a second alert condition and the user profile indicates an alert enabled mode and wherein the alert data indicates at least one of a local weather alert and an evacuation. 